Skip to content

[for minor release] feat: added foreign keys to PilotAgentsDB#8097

Draft
fstagni wants to merge 1 commit intoDIRACGrid:integrationfrom
fstagni:90_pilotAgentsDB_foreignKeys
Draft

[for minor release] feat: added foreign keys to PilotAgentsDB#8097
fstagni wants to merge 1 commit intoDIRACGrid:integrationfrom
fstagni:90_pilotAgentsDB_foreignKeys

Conversation

@fstagni
Copy link
Contributor

@fstagni fstagni commented Mar 20, 2025

For DIRACGrid/diracx#414

  • add to Wiki + update guide
use PilotAgentsDB;
ALTER TABLE `JobToPilotMapping` ADD CONSTRAINT `fk_JobToPilot_PilotID` FOREIGN KEY (`PilotID`) REFERENCES `PilotAgents`(`PilotID`) ON DELETE CASCADE;
ALTER TABLE `PilotOutput` ADD CONSTRAINT `fk_PilotOutput_PilotID` FOREIGN KEY (`PilotID`) REFERENCES `PilotAgents`(`PilotID`) ON DELETE CASCADE;

use SandboxMetadataDB;
ALTER TABLE `sb_EntityMapping` ADD CONSTRAINT `fk_EntityToSB_SBId` FOREIGN KEY (`SBId`) REFERENCES `sb_SandBoxes`(`SBId`) ON DELETE CASCADE;
ALTER TABLE `sb_EntityMapping` MODIFY COLUMN `Type` ENUM("Input", "Output") NOT NULL;

use TaskQueueDB;
ALTER TABLE `tq_TQToBannedSites` MODIFY CONSTRAINT `tq_TQToBannedSites_ibfk_1` FOREIGN KEY (`TQId`) REFERENCES `tq_TaskQueues` (`TQId`) ON DELETE CASCADE ON UPDATE RESTRICT;
ALTER TABLE `tq_TQToGridCEs` MODIFY CONSTRAINT `tq_TQToGridCEs_ibfk_1` FOREIGN KEY (`TQId`) REFERENCES `tq_TaskQueues` (`TQId`) ON DELETE CASCADE ON UPDATE RESTRICT;
ALTER TABLE `tq_TQToGridMiddlewares` MODIFY CONSTRAINT `tq_TQToGridMiddlewares_ibfk_1` FOREIGN KEY (`TQId`) REFERENCES `tq_TaskQueues` (`TQId`) ON DELETE CASCADE ON UPDATE RESTRICT;
ALTER TABLE `tq_TQToJobTypes` MODIFY CONSTRAINT `tq_TQToJobTypes_ibfk_1` FOREIGN KEY (`TQId`) REFERENCES `tq_TaskQueues` (`TQId`) ON DELETE CASCADE ON UPDATE RESTRICT;
ALTER TABLE `tq_TQToPilotTypes` MODIFY CONSTRAINT `tq_TQToPilotTypes_ibfk_1` FOREIGN KEY (`TQId`) REFERENCES `tq_TaskQueues` (`TQId`) ON DELETE CASCADE ON UPDATE RESTRICT;
ALTER TABLE `tq_TQToPlatforms` MODIFY CONSTRAINT `tq_TQToPlatforms_ibfk_1` FOREIGN KEY (`TQId`) REFERENCES `tq_TaskQueues` (`TQId`) ON DELETE CASCADE ON UPDATE RESTRICT;
ALTER TABLE `tq_TQToSites` MODIFY CONSTRAINT `tq_TQToSites_ibfk_1` FOREIGN KEY (`TQId`) REFERENCES `tq_TaskQueues` (`TQId`) ON DELETE CASCADE ON UPDATE RESTRICT;
ALTER TABLE `tq_TQToTags` MODIFY CONSTRAINT `tq_TQToTags_ibfk_1` FOREIGN KEY (`TQId`) REFERENCES `tq_TaskQueues` (`TQId`) ON DELETE CASCADE ON UPDATE RESTRICT;

ALTER TABLE `tq_Jobs` MODIFY CONSTRAINT `tq_Jobs_ibfk_1` FOREIGN KEY (`TQId`) REFERENCES `tq_TaskQueues` (`TQId`) ON DELETE CASCADE ON UPDATE RESTRICT;
  • check for tq_jobs ON DELETE CASCADE
  • port to DiracX

BEGINRELEASENOTES

*WMS
CHANGE: add foreign keys to PilotAgentsDB and SandboxMetadataDB

*Core
CHANGE: MySQL: use ON DELETE CASCADE for foreign keys by default

ENDRELEASENOTES

The issue with PilotWrapper should be fixed with DIRACGrid/Pilot#251 (still to be merged to master branch...)

@fstagni fstagni force-pushed the 90_pilotAgentsDB_foreignKeys branch from f97273f to 1ba957c Compare March 20, 2025 16:33
@fstagni fstagni force-pushed the 90_pilotAgentsDB_foreignKeys branch from 1ba957c to 808e29e Compare March 21, 2025 08:49
@fstagni fstagni marked this pull request as ready for review March 21, 2025 15:31
@fstagni fstagni requested a review from atsareg as a code owner March 21, 2025 15:31
cmdList.append(
"FOREIGN KEY ( `%s` ) REFERENCES `%s` ( `%s` )"
" ON DELETE RESTRICT" % (key, forTable, forKey)
" ON DELETE CASCADE" % (key, forTable, forKey)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should not be the default.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Elaborate why. It only affects TaskQueueDB and SandboxMetadataDB

@fstagni fstagni marked this pull request as draft March 27, 2025 12:55
@fstagni fstagni changed the title [9.0] feat: added foreign keys to PilotAgentsDB [9.1?] feat: added foreign keys to PilotAgentsDB Jun 12, 2025
@fstagni fstagni changed the title [9.1?] feat: added foreign keys to PilotAgentsDB [9.1] feat: added foreign keys to PilotAgentsDB Jul 16, 2025
@fstagni fstagni force-pushed the 90_pilotAgentsDB_foreignKeys branch from 1895ff1 to 32db990 Compare March 5, 2026 13:35
@fstagni fstagni changed the title [9.1] feat: added foreign keys to PilotAgentsDB [for minor release] feat: added foreign keys to PilotAgentsDB Mar 5, 2026
@fstagni fstagni force-pushed the 90_pilotAgentsDB_foreignKeys branch from 32db990 to 306c7ba Compare March 5, 2026 16:13
@fstagni fstagni force-pushed the 90_pilotAgentsDB_foreignKeys branch from 306c7ba to a1154a9 Compare March 5, 2026 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants